package com.authine.cloudpivot.ext.dto.model.invoice;

import com.authine.cloudpivot.ext.Enum.BillType;
import io.swagger.models.auth.In;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@SuperBuilder
@Schema(description = "发票明细核销账单记录")
public class InvoiceDetailBill implements Serializable {

    private static final long serialVersionUID = 3196057239422348787L;


    @Schema(description = "ID")
    private String id;

    @Schema(description = "账单编号")
    private String bill_id;

    @Schema(description = "发票明细ID")
    private String invoice_detail_id;

    @Schema(description = "红字对应的蓝字发票明细核销账单记录ID")
    private String offset_id;

    @Schema(description = "发票申请单ID")
    private String invoice_apply_id;

    @Schema(description = "交易ID")
    private String trade_id;

    @Schema(description = "账单类型")
    private String bill_type;

    /**
     * 含税单价
     */
    @Schema(description = "含税单价")
    private BigDecimal gross_price;

    @Schema(description = "本次申请数量")
    private BigDecimal quantity;

    /**
     * 含税合计
     */
    @Schema(description = "含税合计")
    private BigDecimal total;

    @Schema(description = "申请税率")
    private BigDecimal tax_rate;

    @Schema(description = "蓝票被红冲的发票数量")
    private BigDecimal offset_quantity;

    @Schema(description = "蓝票被红冲的发票含税小计")
    private BigDecimal offset_total;

    @Schema(description = "账单日期")
    private Date bill_date;

    /**
     * 已申请开票总金额
     */
    private BigDecimal already_total;


}
